#ifndef _HOLYSHIELD_GUI
#define _HOLYSHIELD_GUI

//#include <config.h>
//#include <gnome.h>
#include <gtk/gtk.h>
#include "holyshield.h"

void gui_construct (void);
gboolean gui_toggle_visibility (void);
void gui_set_visibility (gboolean visible);

void show_about (GtkWidget *widget, gpointer data);

/* Defintion of a GtkTreeView column */
typedef struct _View_col View_col;
struct _View_col {
        gchar *label;
        GType type;
        gboolean visible;
};

/* Defintion of a GtkTreeView from which the model */
typedef struct _View_def View_def;
struct _View_def {
        gint num_columns;
        View_col columns[6];
};

void gui_create_list_view (GtkWidget *treeview, View_def *def, gint width, gint height);

typedef enum {
        STATUS_VIEW,
        POLICY_VIEW,
        EVENTS_VIEW,
        NUM_VIEWS
} HolyshieldView;

void gui_widget_sensitivity_sync (GtkToggleButton *source, GtkWidget *target);

HolyshieldView gui_get_active_view (void);

#endif
